home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 July / Chip Temmuz 2004.iso / program / antispam / RazorAgent_SDK / razor-agents-sdk-2.03.exe / URI-1.19 / t / data.t < prev    next >
Encoding:
Text File  |  2000-08-22  |  3.1 KB  |  107 lines

  1. eval {
  2.     require MIME::Base64;
  3. };
  4. if ($@) {
  5.     print "1..0\n";
  6.     print $@;
  7.     exit;
  8. }
  9.  
  10. print "1..21\n";
  11.  
  12. use URI;
  13.  
  14. $u = URI->new("data:,A%20brief%20note");
  15. print "not " unless $u->scheme eq "data" && $u->opaque eq ",A%20brief%20note";
  16. print "ok 1\n";
  17.  
  18. print "not " unless $u->media_type eq "text/plain;charset=US-ASCII" &&
  19.                 $u->data eq "A brief note";
  20. print "ok 2\n";
  21.  
  22. $old = $u->data("Fσr-i-kσl er tingen!");
  23. print "not " unless $old eq "A brief note" && $u eq "data:,F%E5r-i-k%E5l%20er%20tingen!";
  24. print "ok 3\n";
  25.  
  26. $old = $u->media_type("text/plain;charset=iso-8859-1");
  27. print "not " unless $old eq "text/plain;charset=US-ASCII" &&
  28.                     $u eq "data:text/plain;charset=iso-8859-1,F%E5r-i-k%E5l%20er%20tingen!";
  29. print "ok 4\n";
  30.  
  31.  
  32. $u = URI->new("data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAwAAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFzByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSpa/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJlZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uisF81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PHhhx4dbgYKAAA7");
  33.  
  34. print "not " unless $u->media_type eq "image/gif";
  35. print "ok 5\n";
  36.  
  37. if ($ENV{DISPLAY} && $ENV{XV}) {
  38.    open(XV, "| $ENV{XV} -") || die;
  39.    print XV $u->data;
  40.    close(XV);
  41. }
  42. print "not " unless length($u->data) == 273;
  43. print "ok 6\n";
  44.  
  45. $u = URI->new("data:text/plain;charset=iso-8859-7,%be%fg%be");  # %fg
  46. print "not " unless $u->data eq "\xBE%fg\xBE";
  47. print "ok 7\n";
  48.  
  49. $u = URI->new("data:application/vnd-xxx-query,select_vcount,fcol_from_fieldtable/local");
  50. print "not " unless $u->data eq "select_vcount,fcol_from_fieldtable/local";
  51. print "ok 8\n";
  52. $u->data("");
  53. print "not " unless $u eq "data:application/vnd-xxx-query,";
  54. print "ok 9\n";
  55.  
  56. $u->data("a,b"); $u->media_type(undef);
  57. print "not " unless $u eq "data:,a,b";
  58. print "ok 10\n";
  59.  
  60. # Test automatic selection of URI/BASE64 encoding
  61. $u = URI->new("data:");
  62. $u->data("");
  63. print "not " unless $u eq "data:,";
  64. print "ok 11\n";
  65.  
  66. $u->data(">");
  67. print "not " unless $u eq "data:,%3E" && $u->data eq ">";
  68. print "ok 12\n";
  69.  
  70. $u->data(">>>>>");
  71. print "not " unless $u eq "data:,%3E%3E%3E%3E%3E";
  72. print "ok 13\n";
  73.  
  74. $u->data(">>>>>>");
  75. print "not " unless $u eq "data:;base64,Pj4+Pj4+";
  76. print "ok 14\n";
  77.  
  78. $u->media_type("text/plain;foo=bar");
  79. print "not " unless $u eq "data:text/plain;foo=bar;base64,Pj4+Pj4+";
  80. print "ok 15\n";
  81.  
  82. $u->media_type("foo");
  83. print "not " unless $u eq "data:foo;base64,Pj4+Pj4+";
  84. print "ok 16\n";
  85.  
  86. $u->data(">" x 3000);
  87. print "not " unless $u eq ("data:foo;base64," . ("Pj4+" x 1000)) &&
  88.                     $u->data eq (">" x 3000);
  89. print "ok 17\n";
  90.  
  91. $u->media_type(undef);
  92. $u->data(undef);
  93. print "not " unless $u eq "data:,";
  94. print "ok 18\n";
  95.  
  96. $u = URI->new("data:foo");
  97. print "not " unless $u->media_type("bar,bσz") eq "foo";
  98. print "ok 19\n";
  99.  
  100. print "not " unless $u->media_type eq "bar,bσz";
  101. print "ok 20\n";
  102.  
  103. $old = $u->data("new");
  104. print "not " unless $old eq "" && $u eq "data:bar%2Cb%E5z,new";
  105. print "ok 21\n";
  106.  
  107.